package cn.jiadakeji.parent.dto;

import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

@Data
@ApiModel("预开班课程信息")
public class ClassCoursePrePlanDTO {
    /**
     *
     */
    private String id;

    /**
     * 学校id
     */
    @ApiModelProperty("学校id")
    private String schoolId;

    /**
     * 教师id
     */
    @ApiModelProperty("教师id")
    private String teacherId;

    /**
     * 课程id
     */
    @ApiModelProperty("课程id")
    private String courseId;

    /**
     * 课程名称
     */
    @ApiModelProperty("课程名称")
    private String courseName;

    /**
     * 开课年份
     */
    @ApiModelProperty("开课年份")
    private Integer courseYear;

    /**
     * 学期
     */
    @ApiModelProperty("学期")
    private String terms;

    /**
     * 选课开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("选课开始时间")
    private Date beginChoiceTime;

    /**
     * 选课结束时间
     */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("选课结束时间")
    private Date endChoiceTime;

    /**
     * 开始授课时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("开始授课时间")
    private Date proTeachTime;

    /**
     * 课时数
     */
    @ApiModelProperty("课时数")
    private Integer proClassHour;

    /**
     * 状态 0 -> 不可用 1-> 学校通过 2 -> 机构通过 3-> 可选课 4-> 已分班
     */
    @ApiModelProperty("状态 0 -> 不可用 1-> 学校通过 2 -> 机构通过 3-> 可选课 4-> 已分班")
    private String status;

    /**
     * 预期开班人数
     */
    @ApiModelProperty("预期开班人数")
    private Integer exceptStus;

    /**
     * 报名人数
     */
    @ApiModelProperty("报名人数")
    private Integer applyNum;

    /**
     * 教室id
     */
    @ApiModelProperty("教室id")
    private String schoolRoomId;

    /**
     * 上课时间
     */
    @ApiModelProperty("上课时间")
    private String dayOfWeek;

    /**
     * 允许选课的年级
     */
    @ApiModelProperty("允许选课的年级")
    private String supportGrade;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remarks;


    /**
     * 排班状态
     */
    @ApiModelProperty("排班状态0->排班中;1->已排班；2->排班失败")
    private String scheduleStatus;

}
